Data and applications used by an enterprise often reside on a cloud that is outside of the domain of the enterprise, as for example on third-party servers. When an enterprise stores its data and applications on a cloud, the enterprise is generally unable to control whether the data is stored securely. While automatically encrypting all data for storage on a cloud may be effective in ensuring that the data is stored securely on the cloud, encrypting all data is typically time-consuming and expensive.